package com.itheima.service;

import com.itheima.domain.Student;
import com.itheima.po.StudentScorePo;
import com.itheima.vo.StudentNameScoreVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author 32803
 */
public interface StudentService {

    /**
     * 查询表中所有学生的信息。
     *
     * @return List<Student>
     */
    List<Student> getAll();

    /**
     * 查询表中所有学生的姓名和对应的英语成绩。;
     *
     * @return List<StudentNameScoreVo>
     */
    List<StudentNameScoreVo> getEnglish();

    /**
     * 统计每个学生的总分。
     *
     * @return 总分
     */
    String getByTotal();

    /**
     * 实现使用姓名做为条件查询
     *
     * @param name 姓名
     * @return List<Student>
     */
    List<Student> getByCondition(@Param("name") String name);

    /**
     * 实现查询英语成绩大于90分的同学
     *
     * @param score 分数
     * @return List<String>
     */
    List<String> getByScore(@Param("score") Integer score);

    /**
     * 查询英语分数在 80－90之间的同学
     *
     * @param po 查询条件
     * @return List<String>
     */
    List<String> getByRange(StudentScorePo po);
}
